Processing of protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol) widely used for the Internet and the like has heretofore been implemented by mainly by software operated on a CPU (Central Processing Unit). However, the recent high-speed network has increased the TCP/IP processing load on the CPU. As a countermeasure against such a problem, there has been proposed a communication apparatus which achieves high-speed communication with dedicated hardware provided for TCP/IP processing. Japanese Patent Application Publication No. 2006-31145 discloses such a communication apparatus.
The communication apparatus described above first determines whether or not data is of high rate. Then, in the case where the data is of high rate, the communication apparatus removes various headers by using the dedicated hardware, and then transfers application data to a memory area. Moreover, in the case of TCP, the communication apparatus hands over only the headers to a network communication driver to perform TCP/IP stack processing with the software.
However, with the communication apparatus described above, frames determined not to be high rate end up having a data link layer and a network layer all processed by the software. Therefore, there is a problem that the processing speed is reduced in processing of segments for establishing a TCP session, for example. Moreover, the software of the communication apparatus also needs to include the functions of processing units of the data link layer and network layer, which are included in the dedicated hardware. As a result, there is a problem of the increased size of the software.